1. Field
This invention pertains to the field of digital signal processing and, more particularly, to a method of high-pass filtering a digital data set.
2. Description
Data filtering is a widely used method of processing a data set to suppress noise and/or other unwanted signal components to reveal or transmit only the desired data. There exist a vast number of methods of data filtering that are well described in many texts on signal processing. Digital signal processing has grown vastly in the last few decades because of the ready availability of Digital Signal Processors (DSPs) and small fast computers. Indeed the use of digital signals is ubiquitous in audio compact disks.
Data filtering in the real world always contends with finite data sets and extraction of signals from the data sets near the set boundaries is problematic. Whether one uses convolution techniques or transform techniques, if the data terminates abruptly, the discontinuity will lead to the formation of artifacts that can corrupt the desired signals. Generally one attempts to collect data over an interval sufficiently large that the signal levels either decay to a constant value, or are periodic, or the data is windowed using an apodization method.
Unfortunately there exist situations where such acquisition or window techniques cannot be applied.
One example of such a situation is the nanotopographic measurement of substrates, such as semiconductor wafers, glass substrates of liquid crystal display (LCD) panels, etc. In this application, the data set is two-dimensional and has a fixed boundary where a relatively large discontinuity exists and cannot be avoided. The data set is the height, or height variation, across the wafer surface up to the wafer edge. The desired signal consists of typically small amplitude variations of a few nanometers composed of spatial frequencies in the range of approximately 1 mmxe2x88x921 to 0.05 mmxe2x88x921. As is well known, frequency and wavelength are reciprocally related. As the work presented here is motivated by application to filtering of spatial rather than time domain signals, wavelengths are used throughout this specification. That said, the signals of interest contain spatial wavelengths of order 1 to 20 mm. The wafers are hundreds of micrometers thick, hence the edge of the wafer presents a large discontinuity compared to the desired signal. To further complicate the situation, the desired signal rides upon signals of much larger amplitude (tens of micrometers) composed of wavelengths longer than 20 mm. (These signals may reflect large-scale xe2x80x9cwavesxe2x80x9d in the overall surface of the wafer due to the wafer manufacturing process).
The challenge is to filter the measured amplitude data to retrieve the desired nanotopographic data, without introducing artifacts of the filtering process as discussed above.
Traditional filter techniques fail to produce accurate filtered data near the wafer edge because of these filtering artifacts. FIG. 1 illustrates a height-variation plot for a silicon wafer where z=0 is defined to be the average height of the surface. While normalizing for the average height does reduce the discontinuity from hundreds of micrometers, it remains at several micrometers at best, for typical wafers.
FIG. 2 shows the result of applying a traditional high pass filter to the data of FIG. 1, the filter consisting of a two dimensional convolution with a Gaussian kernel of "sgr"=5 mm and a square support 20 mm on the side. While the center of the wafer now reveals the desired nanotopographic data previously masked by the long wavelength data having much greater amplitude variations, the remaining edge discontinuity has corrupted the data near the wafer edge. The colored regions on the map indicate areas where the filtered height exceeded the range from xe2x88x92100 to +100 nm. The effect of the wafer edge begins to distort the filtered data within about 10 mm of the edge of the wafer.
The reason the traditional method fails is that it requires data outside the data bounds in order to calculate the filtered result near the data boundary. This data is often, as in this illustration, simply zeros inserted for convenience. Alternately, one could try to extrapolate the data from within the data boundary, or perhaps use a Gershberg type algorithm to create the data. In any event, the data outside the original data bounds is created, not real.
For example, assume the data is simply zero-padded outside the original bounds. A standard high pass convolution filter is obtained by taking the difference between the original data and data that has been low pass filtered. In the area of nanotopography of silicon wafers, a common low pass filter employed is a simple convolution with a fixed kernel, e.g., a Gaussian kernel. The convolution is often denoted by:
f{circle around (x)}gxe2x89xa1∫f(xxe2x88x92xcfx84)g(x)dx=∫f(x)g(xxe2x88x92xcfx84)dxxe2x80x83xe2x80x831 
where in this case, f denotes the wafer surface data, and g the filter kernel.
Note that the convolution is symmetric in f and g. Often g is assumed to be a fixed function that is normalized to unity:
1=∫g(x)dxxe2x80x83xe2x80x832 
The above equations illustrate the convolution in a single dimension, but extension to two dimensions is straightforward. Ideally the bounds of the integral are over all space, but practically, the bounds are finite and determined by the data set and the width of the kernel. Applying this function near the original data boundaries necessarily implies including points outside the original data boundary. When the data is zero-padded, the result of this operation is a value that can be systematically lower or higher than the data well within the data bounds depending on whether the data within the bounds was on average greater or less than zero, respectively. If the discontinuity at the data boundary is large compared to the features of interest, this systematic trend will corrupt the desired data.
Accordingly, it would be advantageous to provide an improved method of high-pass filtering a data set. It would also be advantageous to provide such an improved method that handles discontinuities at the data set boundary with reduced artifacts. Other and further objects and advantages will appear hereinafter.
The present invention comprises an improved method of high pass filtering a finite data set. The method has many applications, but is particularly applicable to image processing and to nanotopographic measurements of substrates, such as semiconductor or glass substrates.
In one aspect of the invention, a method of high pass filtering an input data set comprises flattening the input data set; and adaptive filtering the flattened data set.
In another aspect of the invention, a method of high pass filtering an input data set comprises fitting the input data set to a preset function to produce a fitted data set; obtaining a difference between the input data set and the fitted data set to produce a flattened data set; adaptive filtering the flattened data set; and masking the adaptive filtered data set by a masking function that is a fixed non-zero value when the adaptive filtered data corresponds to a location in the measured data set and is zero when the adaptive filtered data corresponds to a location outside the measured data set.
In yet another aspect of the invention, a method of obtaining nanotopographic data for a substrate, comprises measuring a height profile across an entire surface of the substrate to obtain a measured data set; fitting the measured data set to a preset function and producing a flattened data set by taking a difference between the measured data set and the fitted data set; adaptive filtering the flattened data set to produce an adaptive filtered data set; and multiplying the adaptive filtered data set by a masking function that is a fixed non-zero value when the adaptive filtered data corresponds to a location within the measured data set and is zero when the adaptive filtered data corresponds to a location outside the measured data set.